Internet Protocol Version 4 (IPv4) is the dominant network layer protocol used today to route information over the Internet. With the continuing rapid growth of the Internet, the approximate four billion available IPv4 Internet addresses (or IP addresses) are being consumed at a very high rate. Projections show that the entire IPv4 address space will be exhausted sometime between the years 2005 and 2011. Certain classes of IPv4 addresses, such as Class A and B addresses, are rarely available today, and some parts of the world (most notably Japan) are already seriously impacted by the shortage.
The depletion of IP addresses has caused developers and users to pursue various “patching” strategies to continue using IPv4 addressing. As a consequence, IPv4 routing tables are experiencing explosive growth, significantly slowing router performance. In addition, variable-length packet headers and en route packet fragmentation are further reducing router performance. Patching has also raised data security issues that often constrain businesses from exchanging sensitive data over the Internet.
To address the shortage of IP addresses, the Internet Engineering Task Force (IETF) has proposed a next generation network layer protocol called Internet Protocol Version 6, or IPv6. IPv6 is intended to be the next step in the evolution of the dominant IPv4 protocol used throughout internet and corporate networks today. Although IPv6 addressing is not backward compatible with IPv4 addressing, devices having IPv6 addresses can co-exist with devices having IPv4 addresses on IP networks as IPv6 usage grows. IPv6 adoption is expected to occur gradually, with early adoption occurring by customers that need its advanced features or need to utilize its expanded address space.
Unlike IPv4, which uses 32-bit addresses of four 8-bit decimal parts (e.g., 10.142.128.66), IPv6 uses 128-bit addresses, providing a virtually unlimited addressing space. IPv6 addresses are divided into eight 16-bit parts, with each 16-bit part typically being represented as four hexadecimal numbers. For example, the IPv6 address:                0011 1111 1111 1110 1000 0000 1111 0000        0000 0000 0000 0010 0000 0000 0000 0000        0000 0000 0000 0000 0000 0000 0001 0000        0000 0000 0000 0000 0000 0000 0000 0001can be represented as: 3FFE:80F0:0002:0000:0000:0010:0000:0001. According to convention, leading zeroes can be omitted from the representation, and a double colon (“::”) can be used (once per address) to replace consecutive 16-bit zeroes. Thus, the exemplary IPv6 address shown above can be represented as: 3FFE:80F0:2::10:0:1.        
IPv6 addresses can be grouped into a hierarchy of networks and sub-networks (or subnets) using “prefixes”, similar to the manner in which IPv4 addresses can be grouped into subnets using subnet masks. A prefix, designated by a forward slash (“/”) followed by a number of bits (in decimal) in an IPv6 address, specifies a number of most significant (or first) bits used in an IPv6 address to define a particular network (or network portion) in an internet or corporate network. An IPv6 address used to define a network (or network portion) is often referred to as “prefix group address”, and the group of addresses included in the network definition can be referred to as a “prefix group”.
For example, the IPv6 prefix group address 3FFE:80F0:2::/48 can be used to define a prefix group that includes all devices within an internet or corporate network having globally-scoped addresses that begin with these same 48 bits. A prefix group can be partitioned into additional prefix groups (or subnets) using related prefix group addresses. For example, the exemplary network defined above (3FFE:80F0:2::/48) can be partitioned into three prefix groups having the prefix group addresses: 3FFE:80F0:2:AC::/64, 3FFE:80F0:2:1B15/64, and 3FFE:80F0:2:C5F:A::/80. Any particular device in a network can belong to a number of different prefix groups (or subnets).
The virtually unlimited addressing space of IPv6 and the flexibility afforded by its use of prefixes in defining networks and subnets, can be used to address the many challenges facing users of IPv4-based networks. As the use of IPv6 addressing expands, it will be useful to understand the relationships between devices, having particular IPv6 and IPv4 addresses, and the prefix groups or subnets to which those devices belong.